layui.use(['form','layer','table'],function(){
    var form = layui.form,
        layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        table = layui.table;

    //文章列表
    var tableIns = table.render({
        elem: '#categoryList',
        url : 'list',
        cellMinWidth : 95,
        page : true,
        height : "full-125",
        limit : 5,
        limits : [10,15,20,25],
        id : "categoryListTable",
        cols : [[
            {field: 'id', title: 'ID', width:60, align:"center"},
            {field: 'categoryName', title: '分类名称', width:250},
            {field: 'isShow', title: '是否首页展示', align:'center', templet:function(d){
                    return '<input type="checkbox" name="isShow" lay-filter="isShow" lay-skin="switch" switch_id="'+d.id+'" lay-text="是|否" '+d.isShow+'>'
                }},
            {field: 'showOrder', title: '展示顺序', align:'center'},
            {field: 'articalNum', title: '文章数量（篇）', width:150},
            {title: '操作', width:250, templet:'#categoryListBar',fixed:"right",align:"center"}
        ]]
    });

    //是否首页展示
    form.on('switch(isShow)', function(data){
        var index = layer.msg('修改中，请稍候',{icon: 16,time:false,shade:0.8});
        setTimeout(function(){
            layer.close(index);
            //自定义switch_id 作为主键 用作修改内容唯一标识
            var id = data.elem.attributes['switch_id'].nodeValue;
            $.ajax({
                //几个参数需要注意一下
                type: "POST",//方法类型
                dataType: "json",//预期服务器返回的数据类型
                url: "categoryshow",//url
                data: {
                    id: id,
                },
                success: function (result) {
                    if (result.flag == "Y" || result.flag == "N") {
                        layer.msg("操作成功！");
                    } else{
                        layer.msg("操作失败！", {icon: 2});
                    }
                    tableIns.reload();
                }, error: function () {
                    layer.msg("操作失败，请重试！", {icon: 2});
                }
            });
        },500);
    })


    //添加文章
    function addCategory(){
        var index = layui.layer.open({
            title : "添加分类",
            type : 2,
            shadeClose: false,           //弹出框之外的地方是否可以点击
            area : ["400px","250px"],
            content : "categoryAdd",
            success : function(layero, index){
                var body = layui.layer.getChildFrame('body', index);
            }
        })
    }

    function updateCategory(data){
        var index = layui.layer.open({
            title : "修改分类",
            type : 2,
            shadeClose: false,           //弹出框之外的地方是否可以点击
            area : ["400px","350px"],
            content : "categoryUpdate?id="+data.id,
            success : function(layero, index){
                var body = layui.layer.getChildFrame('body', index);
            }
        })
    }
    function topCategory(data){
        var isShow = data.isShow;
        if(isShow == "checked"){
            layer.confirm('确定将此分类置顶？',{icon:3, title:'提示信息'},function(index){
                $.post("categorytop",{
                    id : data.id  //将需要删除的newsId作为参数传入
                },function(data){
                    data = JSON.parse(data)
                    if(data.flag ==="success"){
                        layer.msg("置顶成功");
                        tableIns.reload();
                        layer.close(index);
                    }else{
                        layer.msg("置顶失败！", {icon: 2});
                    }
                })
            });
        }else{
            layer.msg("只有状态为开启首页展示的才能置顶！", {icon: 0});
        }

    }
    $(".addCategory_btn").click(function(){
        addCategory();
    })

    //列表操作
    table.on('tool(categoryList)', function(obj){
        var layEvent = obj.event,
            data = obj.data;

        if(layEvent === 'top'){
            topCategory(data);
        }else if(layEvent === 'edit'){ //编辑
            updateCategory(data);
        } else if(layEvent === 'del'){
            //删除
            if(data.articalNum > 0){
                layer.msg("该分类下存在文章，不允许删除！",{icon: 5});
                return;
            }else{
                layer.confirm('确定删除此分类？',{icon:3, title:'提示信息'},function(index){
                    $.post("delete",{
                        id : data.id  //将需要删除的newsId作为参数传入
                    },function(data){
                        data = JSON.parse(data)
                        if(data.flag ==="success"){
                            layer.msg("删除成功");
                            tableIns.reload();
                            layer.close(index);
                        }else if(data.flag === "permissions"){
                            layer.msg("权限不足，无法删除！",{icon: 5});
                        }else{
                            layer.msg("删除失败！", {icon: 2});
                        }
                    })
                });
            }
        }
    });

})